﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Com.ContentRendering.Api.ParserEngine;

namespace ContentRenderingApi.Configuration
{
    /// <summary/>
    public class SpecialCharactersConfiguration : SpecialCharactersInterface, ICloneable
    {
        private char _substitution;
        private char _escape;
        private char _if;
        private char _ifNot;
        private char _start;
        private char _child;
        private char _end;
        private char _transparent;
        private char _parent;

        /// <summary/>
        internal SpecialCharactersConfiguration() {}

        /// <summary/>
        public char Substitution
        {
            get { return _substitution; }
            set { _substitution = value; }
        }

        /// <summary/>
        public char Escape
        {
            get { return _escape; }
            set { _escape = value; }
        }

        /// <summary/>
        public char If
        {
            get { return _if; }
            set { _if = value; }
        }

        /// <summary/>
        public char IfNot
        {
            get { return _ifNot; }
            set { _ifNot = value; }
        }

        /// <summary/>
        public char Start
        {
            get { return _start; }
            set { _start = value; }
        }

        /// <summary/>
        public char Child
        {
            get { return _child; }
            set { _child = value; }
        }

        /// <summary/>
        public char End
        {
            get { return _end; }
            set { _end = value; }
        }

        /// <summary/>
        public char Transparent
        {
            get { return _transparent; }
            set { _transparent = value; }
        }

        /// <summary/>
        public char Parent
        {
            get { return _parent; }
            set { _parent = value; }
        }

        /// <summary/>
        public object Clone()
        {
            return this.MemberwiseClone();
        }
    }
}
